package com.song.winter.context;


public interface BeanPostProcessor {

    /**
     * invoke after new Bean()
     * @param bean
     * @param beanName
     * @return
     */
    default Object postProcessBeforeInitialization(Object bean,String beanName){
        return bean;
    }

    /**
     *Invoke after bean.init()
     * @param bean
     * @param beanName
     * @return
     */
    default Object postProcessAfterInitialization(Object bean,String beanName){
        return bean;
    }

    /**
     *invoke before bean.setXyz()
     * @param bean
     * @param beanName
     * @return
     */
    default  Object postProcessOnSetProperty(Object bean,String beanName){
        return  bean;
    }



}
